<?php
namespace Admin\Controller;
use Think\Controller\JsonRpcController;
use Mcit\Rbac;
//外部调用接口文件
class ApiController extends JsonRpcController {

    protected function _initialize(){
        /* 常用http状态码详情
         * 200 请求成功
         * 400 请求出错
         * 401 请求未授权
         * 404 请求不存在或未找到
         * 403 禁止访问
         * 转为json格式函数调用
         * response($code, $message = '', $data = array()) $code 状态码 | $message 描述信息 | $data 传输数据
         */
        header("content-type:text/html;charset=utf-8");
        //验证登陆
        $account = I("account");
        $pwd = I("pwd");
        //$pwd = sha1($pwd);
        if($account != 'dz_api' && $pwd != "dzsys"){
            echo response(400,"账号或密码错误");
            exit;
        }
    }

    public function index(){
        $result = M("email")->where(1)->select();
        if($result){
            echo response(200,"OK",$result);
        }

        $output = array();
        $a = @$_GET['a'] ? $_GET['a'] : '';
        $uid = @$_GET['uid'] ? $_GET['uid'] : 0;
        if (empty($a)) {
            $output = array('data'=>NULL, 'info'=>'坑爹啊!', 'code'=>-201);
            exit(json_encode($output));
        }
        //走接口
        if ($a == 'get_users') {
            //检查用户
            if ($uid == 0) {
                $output = array('data'=>NULL, 'info'=>'The uid is null!', 'code'=>-401);
                exit(json_encode($output));
            }
            //假设 $mysql 是数据库
            $mysql = array(
                10001 => array(
                    'uid'=>10001,
                    'vip'=>5,
                    'nickname' => 'Shine X',
                    'email'=>'979137@qq.com',
                    'qq'=>979137,
                    'gold'=>1500,
                    'powerplay'=> array('2xp'=>12,'gem'=>12,'bingo'=>5,'keys'=>5,'chest'=>8),
                    'gems'=> array('red'=>13,'green'=>3,'blue'=>8,'yellow'=>17),
                    'ctime'=>1376523234,
                    'lastLogin'=>1377123144,
                    'level'=>19,
                    'exp'=>16758,
                ),
                10002 => array(
                    'uid'=>10002,
                    'vip'=>50,
                    'nickname' => 'elva',
                    'email'=>'elva@ezhi.net',
                    'qq'=>NULL,
                    'gold'=>14320,
                    'powerplay'=> array('2xp'=>1,'gem'=>120,'bingo'=>51,'keys'=>5,'chest'=>8),
                    'gems'=> array('red'=>13,'green'=>3,'blue'=>8,'yellow'=>17),
                    'ctime'=>1376523234,
                    'lastLogin'=>1377123144,
                    'level'=>112,
                    'exp'=>167588,
                ),
                10003 => array(
                    'uid' => 10003,
                    'vip' => 5,
                    'nickname' => 'Lily',
                    'email' => 'Lily@ezhi.net',
                    'qq' => NULL,
                    'gold' => 1541,
                    'powerplay'=> array('2xp'=>2,'gem'=>112,'bingo'=>4,'keys'=>7,'chest'=>8),
                    'gems' => array('red'=>13,'green'=>3,'blue'=>9,'yellow'=>7),
                    'ctime' => 1376523234,
                    'lastLogin'=> 1377123144,
                    'level' => 10,
                    'exp' => 1758,
                ),
            );

            $uidArr = array(10001,10002,10003);
            if (in_array($uid, $uidArr, true)) {
                $output = array('data' => NULL, 'info'=>'The user does not exist!', 'code' => -402);
                exit(json_encode($output));
            }
            //查询数据库
            $userInfo = $mysql[$uid];

            //输出数据
            $output = array(
                'data' => array(
                    'userInfo' => $userInfo,
                    'isLogin' => true,//是否首次登陆
                    'unread' => 4,//未读消息数量
                    'untask' => 3,//未完成任务
                ),
                'info' => 'Here is the message which, commonly used in popup window', //消息提示，客户端常会用此作为给弹窗信息。
                'code' => 200, //成功与失败的代码，一般都是正数或者负数
            );
            exit(json_encode($output));
        }

    }


    //处理数据，转换为json数据函数
    /*public function response($code, $message = '', $data = array()) {
        if(!(is_numeric($code))) {
            return '';
        }
        $result = array(
            'code' => $code,
            'message' => $message,
            'data' => $data
        );
        echo json_encode($result);
        exit;
    }*/
}